Virtualization enables a single computer to perform the jobs of multiple computers through a sharing of resources across multiple systems. Through virtualization, multiple operating systems and applications operating as virtual machines (“VMs”) can execute on the same host computer simultaneously, thereby increasing utilization and flexibility of hardware. Connectivity between the VMs and an external network virtual machines is provided by a virtual switch disposed in the host.
Automated provisioning of VMs in a network, which may comprise a data center, requires a management system to configure numerous network devices. The configuration process is subject to errors that may be complex to diagnose and remedy. In a cloud-computing environment, when a new type of VM is instantiated on a host, the entire storage and network path leading to that VM may need configuration changes. Most of the time, the network itself is not aware of the virtualization at the host and the configuration changes are carried out by external scripts.